Continuing advances in technology with regard to digital electronics and digital computer systems have created new categories of digital electronic systems and their associated products. These advances have also been instrumental in the development of digital communication and the use of digital information in a digital broadcast system. Further, digital communication is becoming as commonplace as analog communication as a communication medium.
Digital communication systems include multimedia computer systems, direct broadcast digital satellite systems, interactive World Wide Web access systems, and digital cable systems. Digital communication provides a number of advantages to users, such as superior audio and video quality, compatibility with computers and the Internet, and consistency of reception over varying distances. Furthered by the development and acceptance of digital communication, other products to be implemented in conjunction with the new communication medium have also been developed. In addition to multimedia computer systems and digital television, another product developed for use with the new television medium is the intelligent transceiver, commonly referred to as a digital terminal device or a set top box.
Within the multimedia computer system, digital television, or the intelligent set-top box, information and instructions associated with receiving and processing digital communication signals are stored in memory units within the system or device and executed by a processor.
The multimedia computer system, digital television or set-top box performs a number of functions associated with processing a digital communication signal. Typically, the received digital signal is encoded, and the signal is decoded by the computer system, television or set top box before further processing occurs. The digital signal is typically in a compressed data format such as a MPEG (moving picture experts group) for video signals and/or Dolby AC3 signals for audio signals, and so the received digital signal is decoded (decompressed) by the computer system, digital television, the set top box; or other appropriate device. After decoding, the audio content and the video content contained in the digital signal are processed so that it can be viewed and/or listened to by a user using, for example, a television set, or a multimedia computer system.
For each of the processes, related to the processing of the received signals by the computer system, television, set top box, or other related device, there is a core. For example, there is a decode core, a multiplexer core, a display core, a video core, an audio core, and numerous others. For the device to process, for example, the audio signal, that portion is processed by the audio core, and likewise the video signal is processed by the video core, etc.. When, for example, the audio core and the video core are each processing their specific data, this causes multiple accesses to the resources within the device, e.g., memory, bus space, processor time, etc.. As such, a bottleneck, a sort of electronic traffic jam if you will, occurs, slowing the speed with which the device may process the data.
In one attempt to provide a solution to the problem was to provide direct access to the memory within the device. This is shown in FIG. 1 (Prior Art) as a block diagram illustrating the main components. In FIG. 1, the DSP 2 (digital signal processor) is coupled with the data memory 3, via bus 4. In this example, full memory is allocated for the variables. For instance, when utilizing an application in a DSP environment, to perform display processing, the total size of the variables and the total data size in which the system is operating must be determined, and then that amount is allocated for the processing of the data in the environment in which the system is operating. As such, each process such as, e.g., video processing or audio processing must be completed before proceeding to the next processing task, which inherently creates a processing slowdown.
Another attempt to provide a solution for the above stated problems was to provide secondary memory within the device. This is shown in FIG. 2 (Prior Art) as a block diagram illustrating the main components. In FIG. 2, the processor 5 is coupled with RAM (random access memory) 7 and cache (secondary memory) 6 via memory space (bus) 8. Cache 6 is fast access memory for frequently used data or information. Because cache 6 is disposed off chip, it is much less expensive than on chip cache, and it is very expandable. For example, if a data variable is located in cache 6, there is an immediate retrieval. Otherwise, the data variable is located in RAM 7, and as such a substantial cache miss penalty is incurred. This means that the latency of the process is increased because processor 5 first queries cache 6, and if the data variable is not located there, a cache miss is incurred due to the time required to query cache 6, before proceeding to RAM 7 to locate the data variable.
This is especially troublesome in an embedded system, such as a system on a chip where there are, as described above, multiple cores such as, e.g., the video graphics core and the audio core competing for the memory, which will also cause the slowdown of the processing. Additionally, because in most circumstances, the data is in the form of streaming data such as, for example, video frames where one frame is processed, then another, and then another, etc. where each frame is a separate graphic and process, the cache, which is for frequently used data, is relatively ineffective in the processing of streaming data.
Therefore, there exists a need for an apparatus and method for providing interprocessor communication within the multiprocessor multimedia chip. Another need exists for an apparatus and method that provides enhanced performance of the multiprocessor multimedia chip. A further need exists for an apparatus and method for enhancing the performance of data transactions with the memory and other peripherals within the system in which the multiprocessor multimedia chip is operating. Additionally, a need exists for an apparatus and method that is compatible with the existing architecture of the system in which it is disposed. The present invention provides a unique and novel solution to these and other related problems.